﻿// -----------------------------------------------------------------------
// <copyright file="ClassA.cs" company="Microsoft">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace Cspl.Project.Namespace
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class ClassA
    {
        public ClassA(int param)
        {
            AnPropertyValue = param;
        }

        public event Plus1Delegate Plus1Event;

        public void PleaseCallPlus1Method()
        {
            if (Plus1Event != null)
            {
                Plus1Event(AnPropertyValue);
            }
        }











        public int FieldPublic;
        private int FiledPrivate;
        protected int FiledProtected;
        internal int FieldInternal;
        internal protected int FieldInternalProtected;


        public int MethodA(int param)
        {
            FiledPrivate = param;
            return 1;
        }

        public int PropertyA
        {
            get;
            set;
        }

        public string PropertyB { get; set; }
        private int _anActualValue;

        public int AnPropertyValue
        {
            get { return _anActualValue; }
            set { _anActualValue = value; }
        }



        public void ShowTheProperty()
        {
            Console.WriteLine("Property Value : " + AnPropertyValue);
            Console.WriteLine("Field Value : " + _anActualValue);
        }
    }

    public struct StructA
    {
        public int PropertyA { get; set; }
    }
}
